-
Notifications
You must be signed in to change notification settings - Fork 337
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
chore(crypto): CRP-2682 Change key derivation used in VetKD to BLS12-381 hash_to_scalar #3736
Conversation
The old RO is no longer needed here, so removed
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks, @randombit! Looks good to me. Maybe add a short PR descriptions. Also, ideally also @andreacerulli can look at this before merging.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM, thanks @randombit
…381 hash_to_scalar (#3736) The approach originally used for the vetKD prototype for key derivation used SHAKE, largely as an artifact that we implemented an IBE demo as part of the same prototype, and SHAKE happened to be convenient for implementing IBE. However for production use of vetKD we will switch to using `hash_to_scalar`, a variant of RFC 9380's `hash_to_field`, since we already depend on the security of `hash_to_field` for implementing the hash to curve operation, upon which the security of vetKD depends. Thus we slightly reduce the number of cryptographic primitives vetKD depends on for its security.
The approach originally used for the vetKD prototype for key derivation used SHAKE, largely as an artifact that we implemented an IBE demo as part of the same prototype, and SHAKE happened to be convenient for implementing IBE. However for production use of vetKD we will switch to using
hash_to_scalar
, a variant of RFC 9380'shash_to_field
, since we already depend on the security ofhash_to_field
for implementing the hash to curve operation, upon which the security of vetKD depends. Thus we slightly reduce the number of cryptographic primitives vetKD depends on for its security.